package it.univaq.di.helpdesk.business.model;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

public class Ticket implements Serializable {
	
	private int ticketID;
	private String subject;
	private String description;
	private Date openDate;
	private Date closeDate;
	private List<Attachment> attachment;
	private List<Comment> comments;
	private Priority priority;
	private Status status;
	private Category subCategory;
	private User openBy;
	private User assignedTo;
	private Device device;
	
	public Ticket() {
		super();
	}

	public Ticket(int ticketID, String subject, String description,
			Date openDate, Date closeDate, List<Attachment> attachment,
			List<Comment> comments, Priority priority, Status status,
			Category subCategory, User openBy, User assignedTo, Device device) {
		super();
		this.ticketID = ticketID;
		this.subject = subject;
		this.description = description;
		this.openDate = openDate;
		this.closeDate = closeDate;
		this.attachment = attachment;
		this.comments = comments;
		this.priority = priority;
		this.status = status;
		this.subCategory = subCategory;
		this.openBy = openBy;
		this.assignedTo = assignedTo;
		this.device = device;
	}

	public List<Attachment> getAttachment() {
		return attachment;
	}
	public void setAttachment(List<Attachment> attachment) {
		this.attachment = attachment;
	}
	public int getTicketID() {
		return ticketID;
	}
	public void setTicketID(int ticketID) {
		this.ticketID = ticketID;
	}

	public String getSubject() {
		return subject;
	}

	public void setSubject(String subject) {
		this.subject = subject;
	}

	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public Date getOpenDate() {
		return openDate;
	}

	public void setOpenDate(Date openDate) {
		this.openDate = openDate;
	}

	public Date getCloseDate() {
		return closeDate;
	}

	public void setCloseDate(Date closeDate) {
		this.closeDate = closeDate;
	}

	public void setPriority(Priority priority) {
		this.priority = priority;
	}

	public Priority getPriority() {
		return priority;
	}

	public void setStatus(Status status) {
		this.status = status;
	}

	public Status getStatus() {
		return status;
	}

	public void setSubCategory(Category subCategory) {
		this.subCategory = subCategory;
	}

	public Category getSubCategory() {
		return subCategory;
	}

	public void setOpenBy(User openBy) {
		this.openBy = openBy;
	}

	public User getOpenBy() {
		return openBy;
	}

	public void setAssignedTo(User assignedTo) {
		this.assignedTo = assignedTo;
	}

	public User getAssignedTo() {
		return assignedTo;
	}

	public Device getDevice() {
		return device;
	}

	public void setDevice(Device device) {
		this.device = device;
	}

	public List<Comment> getComments() {
		return comments;
	}

	public void setComments(List<Comment> comments) {
		this.comments = comments;
	}
}
